
package net.mappoint.s.mappoint_30;

import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;


/**
 * <p>Java class for DirectionAction.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * <p>
 * <pre>
 * &lt;simpleType name="DirectionAction">
 *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *     &lt;enumeration value="Other"/>
 *     &lt;enumeration value="Depart"/>
 *     &lt;enumeration value="Arrive"/>
 *     &lt;enumeration value="TurnLeft"/>
 *     &lt;enumeration value="TurnRight"/>
 *     &lt;enumeration value="BearLeft"/>
 *     &lt;enumeration value="BearRight"/>
 *     &lt;enumeration value="Merge"/>
 *     &lt;enumeration value="Continue"/>
 *     &lt;enumeration value="TurnBack"/>
 *     &lt;enumeration value="TakeRoundabout"/>
 *     &lt;enumeration value="ConstructionDelay"/>
 *     &lt;enumeration value="ConstructionStop"/>
 *     &lt;enumeration value="NameChange"/>
 *     &lt;enumeration value="LeftLeft"/>
 *     &lt;enumeration value="LeftRight"/>
 *     &lt;enumeration value="RightLeft"/>
 *     &lt;enumeration value="RightRight"/>
 *     &lt;enumeration value="TakeRamp"/>
 *     &lt;enumeration value="TakeRampLeft"/>
 *     &lt;enumeration value="TakeRampRight"/>
 *     &lt;enumeration value="KeepStraight"/>
 *     &lt;enumeration value="KeepLeft"/>
 *     &lt;enumeration value="KeepRight"/>
 *   &lt;/restriction>
 * &lt;/simpleType>
 * </pre>
 * 
 */
@XmlType(name = "DirectionAction")
@XmlEnum
public enum DirectionAction {

    @XmlEnumValue("Other")
    OTHER("Other"),
    @XmlEnumValue("Depart")
    DEPART("Depart"),
    @XmlEnumValue("Arrive")
    ARRIVE("Arrive"),
    @XmlEnumValue("TurnLeft")
    TURN_LEFT("TurnLeft"),
    @XmlEnumValue("TurnRight")
    TURN_RIGHT("TurnRight"),
    @XmlEnumValue("BearLeft")
    BEAR_LEFT("BearLeft"),
    @XmlEnumValue("BearRight")
    BEAR_RIGHT("BearRight"),
    @XmlEnumValue("Merge")
    MERGE("Merge"),
    @XmlEnumValue("Continue")
    CONTINUE("Continue"),
    @XmlEnumValue("TurnBack")
    TURN_BACK("TurnBack"),
    @XmlEnumValue("TakeRoundabout")
    TAKE_ROUNDABOUT("TakeRoundabout"),
    @XmlEnumValue("ConstructionDelay")
    CONSTRUCTION_DELAY("ConstructionDelay"),
    @XmlEnumValue("ConstructionStop")
    CONSTRUCTION_STOP("ConstructionStop"),
    @XmlEnumValue("NameChange")
    NAME_CHANGE("NameChange"),
    @XmlEnumValue("LeftLeft")
    LEFT_LEFT("LeftLeft"),
    @XmlEnumValue("LeftRight")
    LEFT_RIGHT("LeftRight"),
    @XmlEnumValue("RightLeft")
    RIGHT_LEFT("RightLeft"),
    @XmlEnumValue("RightRight")
    RIGHT_RIGHT("RightRight"),
    @XmlEnumValue("TakeRamp")
    TAKE_RAMP("TakeRamp"),
    @XmlEnumValue("TakeRampLeft")
    TAKE_RAMP_LEFT("TakeRampLeft"),
    @XmlEnumValue("TakeRampRight")
    TAKE_RAMP_RIGHT("TakeRampRight"),
    @XmlEnumValue("KeepStraight")
    KEEP_STRAIGHT("KeepStraight"),
    @XmlEnumValue("KeepLeft")
    KEEP_LEFT("KeepLeft"),
    @XmlEnumValue("KeepRight")
    KEEP_RIGHT("KeepRight");
    private final String value;

    DirectionAction(String v) {
        value = v;
    }

    public String value() {
        return value;
    }

    public static DirectionAction fromValue(String v) {
        for (DirectionAction c: DirectionAction.values()) {
            if (c.value.equals(v)) {
                return c;
            }
        }
        throw new IllegalArgumentException(v);
    }

}
